import Vue from 'vue'
// 导入Vuex
import Vuex from 'vuex'
Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    // 保存token的
    // 我们要保证这个属性要么是从本地存储取出来的对象
    // 要么是一个空对象
    // 这意思是左边有就用左边的值，左边没有就用空对象
    tokenObj: JSON.parse(localStorage.getItem('token')) || {},
    userInfo: {}
  },

  mutations: {

    // 提供一个修改token的方法
    setToken(state, obj) {

      state.tokenObj = obj
      localStorage.setItem('token', JSON.stringify(obj))
    },
    // 提供删除token的方法
    removeToken(state) {

      state.tokenObj = {}
      state.userInfo = {}
      localStorage.removeItem('token')
    },

    // 提供一个修改userInfo的方法
    setUserInfo(state, obj) {
      state.userInfo = obj
    }
  }
})

export default store